body {
background: #151515;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
overflow: hidden;
z-index: -1;
display: grid;
place-items: center;
height: 100vh;
}
.wrapper {
display: flex;
gap: 1.5rem;
}
.icon {
cursor: pointer;
position: relative;
display: flex;
width: 60px;
height: 60px;
border-radius: 30px;
overflow: hidden;
text-decoration: none;
}
.icon::before,
.icon::after {
content: "";
position: absolute;
top: 0;
left: 0;
height: 100%;
width: 100%;
transition: all 0.50s ease;
border-radius: 30px;
}
.icon i {
position: relative;
color: #FFFFFF;
font-size: 23px;
margin: auto;
transition: all 0.25s ease;
}
.icon-fill::before {
transition-duration: 0.5s;
box-shadow: inset 0 0 0 1px #16A085;
}
.icon-fill:hover::before {
box-shadow: inset 0 0 0 60px #16A085;
}
.icon-enter::after {
box-shadow: inset 0 0 0 1px #EB9532;
}
.icon-enter::before {
border-radius: 0;
margin-left: -100%;
box-shadow: inset 0 0 0 60px #EB9532;
}
.icon-enter:hover::before {
margin-left: 0;
}
.icon-expand::after {
box-shadow: inset 0 0 0 1px #C82647;
}
.icon-expand::before {
background: #C82647;
box-shadow: inset 0 0 0 60px #151515;
}
.icon-expand:hover::before {
box-shadow: inset 0 0 0 1px #151515;
}
.icon-collapse::before {
border-radius: 0;
}
.icon-collapse:hover::before {
box-shadow: inset 0 30px 0 0 #8CC63F, inset 0 -30px 0 0 #8CC63F;
}
.icon-collapse::after {
box-shadow: inset 0 0 0 1px #8CC63F;
}
.icon-rotate {
box-shadow: inset 0 0 0 1px #7E3661;
}
.icon-rotate::after,
.icon-rotate::before {
border: 0px solid transparent;
}
.icon-rotate:hover::before {
transition: border-top-width 0.3s ease, border-top-color 0.3s ease;
border-width: 60px;
border-top-color: #7E3661;
}
.icon-rotate:hover::after {
transition: border-left-width 0.3s ease, border-left-color 0.3s ease;
border-width: 60px;
border-left-color: #7E3661;
}
.icon-rotate:hover {
transition: background 0.001s ease 0.3s;
background: #7E3661;
}
.icon-rotate i {
z-index: 1;
}